package com.youlu.campus.entity;

import com.youlu.campus.base.base.EntityBase;
import lombok.Getter;
import lombok.Setter;
import org.springframework.data.annotation.Transient;
import org.springframework.data.mongodb.core.index.Indexed;
import org.springframework.data.mongodb.core.mapping.Document;

import java.util.List;
import java.util.Set;

/**
 * 用户答题记录
 */
@Getter
@Setter
@Document(collection = "user_qa_info")
public class UserQaInfo extends EntityBase {
    /**
     * 用户ID
     */
    @Indexed
    private String userId;
    /**
     * 题库ID
     */
    @Indexed
    private String activityQaInfoId;
    /**
     * 题库名
     */
    @Transient
    private String activityQaInfoName;
    /**
     * 活动ID
     */
    private String activityId;
    /**
     * 活动名字
     */
    private String activityName;
    /**
     * 答题次数，可以尝试答题次数
     */
    private Integer reTryQaNum = 0;

    /**
     * 购买次数
     */
    private Integer buyQaNum = 0;
    /**
     * 总答题次数
     */
    private Integer totalQaNum = 10;
    /**
     * 得分
     */
    private Double qaScore = 0D;
    /**
     * 是否通过
     */
    @Indexed
    private Boolean passed = Boolean.FALSE;
    /**
     * 历史最高分
     */
    private Double maxScore;
    /**
     * 获得证书等级
     */
    private String caName;
    /**
     * 题库序号
     */
    private Integer no;
    @Transient
    private ActivityQaInfo activityQaInfo;
    /**
     * 是否限时
     */
    @Transient
    private Boolean limitTimed;
    /**
     * 限制时间,单位:秒
     */
    @Transient
    private Integer limitTime;
    /**
     * 当前答题得分
     */
    private Double currentQaScore = 0D;
    /**
     * 是否已经累加贡献值
     */
    private Boolean accumulateQ = Boolean.FALSE;

    private Set<Double> scoreSet;

    @Transient
    private UserPO currentUser;

    private List<UserQaLevel> userQaLevelList;


}
